Many computing environments, such as datacenters or other storage environments, may be configured to provide various clients with access to computing resources, such as data storage. A storage administrator may provision one or more storage devices for use by a client, such as to store data of an application. For example, a database application may store a database within a volume of a storage device provisioned by the storage administrator to a client hosting the database application. Various types of storage devices may be available for the storage administrator to provision, such as cloud storage, a solid state drive (SSD), virtual storage, a logical unit number (LUN) array, a tape drive, a serial attached small computer system interface (SAS) storage device, a serial advanced technology attachment (SATA) storage device, etc. The storage administrator may manually select and configure the one or more storage devices for provisioning based upon theoretical data and personal experience regarding what storage devices may satisfy a service level agreement (SLA) such as a desired throughput, data loss protection, an acceptable latency (e.g., a data retrieval latency of database data from the storage device), and/or other performance characteristics associated with the database application. Unfortunately, manual configuration may be cumbersome and imprecise, which may result in inefficient allocation and utilization of resources of a storage environment.
Overtime, the application may experience degraded performance from the provisioned storage devices of the storage environment due to increases in data being stored and managed, increased log data, increased workloads, and/or management of other values and information that may decrease performance. The storage administrator may have to manually create a new group of storage devices to provision for the application. The storage administrator may take the application offline, migrate data to the new group of storage devices, and provision the new group of storage devices for use by the application. Manual configuration and/or reconfiguration of storage devices for provisioning to applications may result in reduced performance of applications, inefficient utilization of computing resources of a storage environment, and cumbersome and imprecise manual selection and configuration efforts by storage administrators.